use ::libc;
extern "C" {
    pub type hyperlinks;
    pub type screen_write_cline;
    pub type screen_sel;
    pub type screen_titles;
    pub type event_base;
    pub type evbuffer;
    pub type bufferevent_ops;
    pub type args;
    pub type tmuxpeer;
    pub type environ;
    pub type options;
    pub type format_tree;
    pub type input_ctx;
    pub type cmds;
    pub type tty_key;
    pub type format_job_tree;
    pub type control_state;
    pub type cmdq_list;
    pub type options_array_item;
    pub type options_entry;
    fn tigetflag(_: *const i8) -> i32;
    fn tigetnum(_: *const i8) -> i32;
    fn tigetstr(_: *const i8) -> *mut i8;
    fn tiparm(_: *const i8, _: ...) -> *mut i8;
    fn fnmatch(
        __pattern: *const i8,
        __name: *const i8,
        __flags: i32,
    ) -> i32;
    fn free(_: *mut libc::c_void);
    fn memset(_: *mut libc::c_void, _: i32, _: u64) -> *mut libc::c_void;
    fn strcmp(_: *const i8, _: *const i8) -> i32;
    fn strncmp(_: *const i8, _: *const i8, _: u64) -> i32;
    fn strchr(_: *const i8, _: i32) -> *mut i8;
    fn strcspn(_: *const i8, _: *const i8) -> u64;
    fn strlen(_: *const i8) -> u64;
    static mut cur_term: *mut TERMINAL;
    fn del_curterm(_: *mut TERMINAL) -> i32;
    fn setupterm(_: *const i8, _: i32, _: *mut i32) -> i32;
    fn options_array_first(_: *mut options_entry) -> *mut options_array_item;
    fn strnvis(
        _: *mut i8,
        _: *const i8,
        _: size_t,
        _: i32,
    ) -> i32;
    fn strunvis(_: *mut i8, _: *const i8) -> i32;
    fn strtonum(
        _: *const i8,
        _: i64,
        _: i64,
        _: *mut *const i8,
    ) -> i64;
    fn xcalloc(_: size_t, _: size_t) -> *mut libc::c_void;
    fn xreallocarray(_: *mut libc::c_void, _: size_t, _: size_t) -> *mut libc::c_void;
    fn xstrdup(_: *const i8) -> *mut i8;
    fn xasprintf(_: *mut *mut i8, _: *const i8, _: ...) -> i32;
    fn xsnprintf(_: *mut i8, _: size_t, _: *const i8, _: ...) -> i32;
    static mut global_options: *mut options;
    fn options_get_only(_: *mut options, _: *const i8) -> *mut options_entry;
    fn options_array_item_value(_: *mut options_array_item) -> *mut options_value;
    fn options_array_next(_: *mut options_array_item) -> *mut options_array_item;
    fn tty_apply_features(_: *mut tty_term, _: i32) -> i32;
    fn tty_add_features(_: *mut i32, _: *const i8, _: *const i8);
    fn log_debug(_: *const i8, _: ...);
    fn fatalx(_: *const i8, _: ...) -> !;
}
pub type __u_char = u8;
pub type __u_short = u16;
pub type __u_int = u32;
pub type __uint8_t = u8;
pub type __uint64_t = u64;
pub type __pid_t = i32;
pub type __time_t = i64;
pub type __suseconds_t = i64;
pub type u_char = __u_char;
pub type u_short = __u_short;
pub type u_int = __u_int;
pub type pid_t = __pid_t;
pub type time_t = __time_t;
pub type size_t = u64;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct timeval {
    pub tv_sec: __time_t,
    pub tv_usec: __suseconds_t,
}
pub type uint8_t = __uint8_t;
pub type uint64_t = __uint64_t;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct screen {
    pub title: *mut i8,
    pub path: *mut i8,
    pub titles: *mut screen_titles,
    pub grid: *mut grid,
    pub cx: u_int,
    pub cy: u_int,
    pub cstyle: screen_cursor_style,
    pub default_cstyle: screen_cursor_style,
    pub ccolour: i32,
    pub default_ccolour: i32,
    pub rupper: u_int,
    pub rlower: u_int,
    pub mode: i32,
    pub default_mode: i32,
    pub saved_cx: u_int,
    pub saved_cy: u_int,
    pub saved_grid: *mut grid,
    pub saved_cell: grid_cell,
    pub saved_flags: i32,
    pub tabs: *mut bitstr_t,
    pub sel: *mut screen_sel,
    pub write_list: *mut screen_write_cline,
    pub hyperlinks: *mut hyperlinks,
}
pub type bitstr_t = u8;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct grid_cell {
    pub data: utf8_data,
    pub attr: u_short,
    pub flags: u_char,
    pub fg: i32,
    pub bg: i32,
    pub us: i32,
    pub link: u_int,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct utf8_data {
    pub data: [u_char; 21],
    pub have: u_char,
    pub size: u_char,
    pub width: u_char,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct grid {
    pub flags: i32,
    pub sx: u_int,
    pub sy: u_int,
    pub hscrolled: u_int,
    pub hsize: u_int,
    pub hlimit: u_int,
    pub linedata: *mut grid_line,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct grid_line {
    pub celldata: *mut grid_cell_entry,
    pub cellused: u_int,
    pub cellsize: u_int,
    pub extddata: *mut grid_extd_entry,
    pub extdsize: u_int,
    pub flags: i32,
    pub time: time_t,
}
#[derive(Copy, Clone)]
#[repr(C, packed)]
pub struct grid_extd_entry {
    pub data: utf8_char,
    pub attr: u_short,
    pub flags: u_char,
    pub fg: i32,
    pub bg: i32,
    pub us: i32,
    pub link: u_int,
}
pub type utf8_char = u_int;
#[derive(Copy, Clone)]
#[repr(C, packed)]
pub struct grid_cell_entry {
    pub c2rust_unnamed: C2RustUnnamed,
    pub flags: u_char,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union C2RustUnnamed {
    pub offset: u_int,
    pub data: C2RustUnnamed_0,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_0 {
    pub attr: u_char,
    pub fg: u_char,
    pub bg: u_char,
    pub data: u_char,
}
pub type screen_cursor_style = u32;
pub const SCREEN_CURSOR_BAR: screen_cursor_style = 3;
pub const SCREEN_CURSOR_UNDERLINE: screen_cursor_style = 2;
pub const SCREEN_CURSOR_BLOCK: screen_cursor_style = 1;
pub const SCREEN_CURSOR_DEFAULT: screen_cursor_style = 0;
pub type cc_t = u8;
pub type speed_t = u32;
pub type tcflag_t = u32;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct termios {
    pub c_iflag: tcflag_t,
    pub c_oflag: tcflag_t,
    pub c_cflag: tcflag_t,
    pub c_lflag: tcflag_t,
    pub c_line: cc_t,
    pub c_cc: [cc_t; 32],
    pub c_ispeed: speed_t,
    pub c_ospeed: speed_t,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct termtype {
    pub term_names: *mut i8,
    pub str_table: *mut i8,
    pub Booleans: *mut i8,
    pub Numbers: *mut i16,
    pub Strings: *mut *mut i8,
    pub ext_str_table: *mut i8,
    pub ext_Names: *mut *mut i8,
    pub num_Booleans: u16,
    pub num_Numbers: u16,
    pub num_Strings: u16,
    pub ext_Booleans: u16,
    pub ext_Numbers: u16,
    pub ext_Strings: u16,
}
pub type TERMTYPE = termtype;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct term {
    pub type_0: TERMTYPE,
}
pub type TERMINAL = term;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct event {
    pub ev_evcallback: event_callback,
    pub ev_timeout_pos: C2RustUnnamed_6,
    pub ev_fd: i32,
    pub ev_base: *mut event_base,
    pub ev_: C2RustUnnamed_1,
    pub ev_events: i16,
    pub ev_res: i16,
    pub ev_timeout: timeval,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union C2RustUnnamed_1 {
    pub ev_io: C2RustUnnamed_4,
    pub ev_signal: C2RustUnnamed_2,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_2 {
    pub ev_signal_next: C2RustUnnamed_3,
    pub ev_ncalls: i16,
    pub ev_pncalls: *mut i16,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_3 {
    pub le_next: *mut event,
    pub le_prev: *mut *mut event,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_4 {
    pub ev_io_next: C2RustUnnamed_5,
    pub ev_timeout: timeval,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_5 {
    pub le_next: *mut event,
    pub le_prev: *mut *mut event,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union C2RustUnnamed_6 {
    pub ev_next_with_common_timeout: C2RustUnnamed_7,
    pub min_heap_idx: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_7 {
    pub tqe_next: *mut event,
    pub tqe_prev: *mut *mut event,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct event_callback {
    pub evcb_active_next: C2RustUnnamed_9,
    pub evcb_flags: i16,
    pub evcb_pri: uint8_t,
    pub evcb_closure: uint8_t,
    pub evcb_cb_union: C2RustUnnamed_8,
    pub evcb_arg: *mut libc::c_void,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union C2RustUnnamed_8 {
    pub evcb_callback:
        Option<unsafe extern "C" fn(i32, i16, *mut libc::c_void) -> ()>,
    pub evcb_selfcb: Option<unsafe extern "C" fn(*mut event_callback, *mut libc::c_void) -> ()>,
    pub evcb_evfinalize: Option<unsafe extern "C" fn(*mut event, *mut libc::c_void) -> ()>,
    pub evcb_cbfinalize: Option<unsafe extern "C" fn(*mut event_callback, *mut libc::c_void) -> ()>,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_9 {
    pub tqe_next: *mut event_callback,
    pub tqe_prev: *mut *mut event_callback,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct bufferevent {
    pub ev_base: *mut event_base,
    pub be_ops: *const bufferevent_ops,
    pub ev_read: event,
    pub ev_write: event,
    pub input: *mut evbuffer,
    pub output: *mut evbuffer,
    pub wm_read: event_watermark,
    pub wm_write: event_watermark,
    pub readcb: bufferevent_data_cb,
    pub writecb: bufferevent_data_cb,
    pub errorcb: bufferevent_event_cb,
    pub cbarg: *mut libc::c_void,
    pub timeout_read: timeval,
    pub timeout_write: timeval,
    pub enabled: i16,
}
pub type bufferevent_event_cb =
    Option<unsafe extern "C" fn(*mut bufferevent, i16, *mut libc::c_void) -> ()>;
pub type bufferevent_data_cb =
    Option<unsafe extern "C" fn(*mut bufferevent, *mut libc::c_void) -> ()>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct event_watermark {
    pub low: size_t,
    pub high: size_t,
}
pub type msgtype = u32;
pub const MSG_READ_CANCEL: msgtype = 307;
pub const MSG_WRITE_CLOSE: msgtype = 306;
pub const MSG_WRITE_READY: msgtype = 305;
pub const MSG_WRITE: msgtype = 304;
pub const MSG_WRITE_OPEN: msgtype = 303;
pub const MSG_READ_DONE: msgtype = 302;
pub const MSG_READ: msgtype = 301;
pub const MSG_READ_OPEN: msgtype = 300;
pub const MSG_FLAGS: msgtype = 218;
pub const MSG_EXEC: msgtype = 217;
pub const MSG_WAKEUP: msgtype = 216;
pub const MSG_UNLOCK: msgtype = 215;
pub const MSG_SUSPEND: msgtype = 214;
pub const MSG_OLDSTDOUT: msgtype = 213;
pub const MSG_OLDSTDIN: msgtype = 212;
pub const MSG_OLDSTDERR: msgtype = 211;
pub const MSG_SHUTDOWN: msgtype = 210;
pub const MSG_SHELL: msgtype = 209;
pub const MSG_RESIZE: msgtype = 208;
pub const MSG_READY: msgtype = 207;
pub const MSG_LOCK: msgtype = 206;
pub const MSG_EXITING: msgtype = 205;
pub const MSG_EXITED: msgtype = 204;
pub const MSG_EXIT: msgtype = 203;
pub const MSG_DETACHKILL: msgtype = 202;
pub const MSG_DETACH: msgtype = 201;
pub const MSG_COMMAND: msgtype = 200;
pub const MSG_IDENTIFY_TERMINFO: msgtype = 112;
pub const MSG_IDENTIFY_LONGFLAGS: msgtype = 111;
pub const MSG_IDENTIFY_STDOUT: msgtype = 110;
pub const MSG_IDENTIFY_FEATURES: msgtype = 109;
pub const MSG_IDENTIFY_CWD: msgtype = 108;
pub const MSG_IDENTIFY_CLIENTPID: msgtype = 107;
pub const MSG_IDENTIFY_DONE: msgtype = 106;
pub const MSG_IDENTIFY_ENVIRON: msgtype = 105;
pub const MSG_IDENTIFY_STDIN: msgtype = 104;
pub const MSG_IDENTIFY_OLDCWD: msgtype = 103;
pub const MSG_IDENTIFY_TTYNAME: msgtype = 102;
pub const MSG_IDENTIFY_TERM: msgtype = 101;
pub const MSG_IDENTIFY_FLAGS: msgtype = 100;
pub const MSG_VERSION: msgtype = 12;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct client {
    pub name: *const i8,
    pub peer: *mut tmuxpeer,
    pub queue: *mut cmdq_list,
    pub windows: client_windows,
    pub control_state: *mut control_state,
    pub pause_age: u_int,
    pub pid: pid_t,
    pub fd: i32,
    pub out_fd: i32,
    pub event: event,
    pub retval: i32,
    pub creation_time: timeval,
    pub activity_time: timeval,
    pub last_activity_time: timeval,
    pub environ: *mut environ,
    pub jobs: *mut format_job_tree,
    pub title: *mut i8,
    pub path: *mut i8,
    pub cwd: *const i8,
    pub term_name: *mut i8,
    pub term_features: i32,
    pub term_type: *mut i8,
    pub term_caps: *mut *mut i8,
    pub term_ncaps: u_int,
    pub ttyname: *mut i8,
    pub tty: tty,
    pub written: size_t,
    pub discarded: size_t,
    pub redraw: size_t,
    pub repeat_timer: event,
    pub click_timer: event,
    pub click_button: u_int,
    pub click_event: mouse_event,
    pub status: status_line,
    pub flags: uint64_t,
    pub exit_type: C2RustUnnamed_30,
    pub exit_msgtype: msgtype,
    pub exit_session: *mut i8,
    pub exit_message: *mut i8,
    pub keytable: *mut key_table,
    pub last_key: key_code,
    pub redraw_panes: uint64_t,
    pub redraw_scrollbars: uint64_t,
    pub message_ignore_keys: i32,
    pub message_ignore_styles: i32,
    pub message_string: *mut i8,
    pub message_timer: event,
    pub prompt_string: *mut i8,
    pub prompt_buffer: *mut utf8_data,
    pub prompt_last: *mut i8,
    pub prompt_index: size_t,
    pub prompt_inputcb: prompt_input_cb,
    pub prompt_freecb: prompt_free_cb,
    pub prompt_data: *mut libc::c_void,
    pub prompt_hindex: [u_int; 4],
    pub prompt_mode: C2RustUnnamed_27,
    pub prompt_saved: *mut utf8_data,
    pub prompt_flags: i32,
    pub prompt_type: prompt_type,
    pub prompt_cursor: i32,
    pub session: *mut session,
    pub last_session: *mut session,
    pub references: i32,
    pub pan_window: *mut libc::c_void,
    pub pan_ox: u_int,
    pub pan_oy: u_int,
    pub overlay_check: overlay_check_cb,
    pub overlay_mode: overlay_mode_cb,
    pub overlay_draw: overlay_draw_cb,
    pub overlay_key: overlay_key_cb,
    pub overlay_free: overlay_free_cb,
    pub overlay_resize: overlay_resize_cb,
    pub overlay_data: *mut libc::c_void,
    pub overlay_timer: event,
    pub files: client_files,
    pub clipboard_panes: *mut u_int,
    pub clipboard_npanes: u_int,
    pub entry: C2RustUnnamed_10,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_10 {
    pub tqe_next: *mut client,
    pub tqe_prev: *mut *mut client,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct client_files {
    pub rbh_root: *mut client_file,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct client_file {
    pub c: *mut client,
    pub peer: *mut tmuxpeer,
    pub tree: *mut client_files,
    pub references: i32,
    pub stream: i32,
    pub path: *mut i8,
    pub buffer: *mut evbuffer,
    pub event: *mut bufferevent,
    pub fd: i32,
    pub error: i32,
    pub closed: i32,
    pub cb: client_file_cb,
    pub data: *mut libc::c_void,
    pub entry: C2RustUnnamed_11,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_11 {
    pub rbe_left: *mut client_file,
    pub rbe_right: *mut client_file,
    pub rbe_parent: *mut client_file,
    pub rbe_color: i32,
}
pub type client_file_cb = Option<
    unsafe extern "C" fn(
        *mut client,
        *const i8,
        i32,
        i32,
        *mut evbuffer,
        *mut libc::c_void,
    ) -> (),
>;
pub type overlay_resize_cb = Option<unsafe extern "C" fn(*mut client, *mut libc::c_void) -> ()>;
pub type overlay_free_cb = Option<unsafe extern "C" fn(*mut client, *mut libc::c_void) -> ()>;
pub type overlay_key_cb =
    Option<unsafe extern "C" fn(*mut client, *mut libc::c_void, *mut key_event) -> i32>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct key_event {
    pub key: key_code,
    pub m: mouse_event,
    pub buf: *mut i8,
    pub len: size_t,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct mouse_event {
    pub valid: i32,
    pub ignore: i32,
    pub key: key_code,
    pub statusat: i32,
    pub statuslines: u_int,
    pub x: u_int,
    pub y: u_int,
    pub b: u_int,
    pub lx: u_int,
    pub ly: u_int,
    pub lb: u_int,
    pub ox: u_int,
    pub oy: u_int,
    pub s: i32,
    pub w: i32,
    pub wp: i32,
    pub sgr_type: u_int,
    pub sgr_b: u_int,
}
pub type key_code = u64;
pub type overlay_draw_cb =
    Option<unsafe extern "C" fn(*mut client, *mut libc::c_void, *mut screen_redraw_ctx) -> ()>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct screen_redraw_ctx {
    pub c: *mut client,
    pub statuslines: u_int,
    pub statustop: i32,
    pub pane_status: i32,
    pub pane_lines: pane_lines,
    pub pane_scrollbars: i32,
    pub pane_scrollbars_pos: i32,
    pub no_pane_gc: grid_cell,
    pub no_pane_gc_set: i32,
    pub sx: u_int,
    pub sy: u_int,
    pub ox: u_int,
    pub oy: u_int,
}
pub type pane_lines = u32;
pub const PANE_LINES_NUMBER: pane_lines = 4;
pub const PANE_LINES_SIMPLE: pane_lines = 3;
pub const PANE_LINES_HEAVY: pane_lines = 2;
pub const PANE_LINES_DOUBLE: pane_lines = 1;
pub const PANE_LINES_SINGLE: pane_lines = 0;
pub type overlay_mode_cb = Option<
    unsafe extern "C" fn(*mut client, *mut libc::c_void, *mut u_int, *mut u_int) -> *mut screen,
>;
pub type overlay_check_cb = Option<
    unsafe extern "C" fn(
        *mut client,
        *mut libc::c_void,
        u_int,
        u_int,
        u_int,
        *mut overlay_ranges,
    ) -> (),
>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct overlay_ranges {
    pub px: [u_int; 3],
    pub nx: [u_int; 3],
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct session {
    pub id: u_int,
    pub name: *mut i8,
    pub cwd: *const i8,
    pub creation_time: timeval,
    pub last_attached_time: timeval,
    pub activity_time: timeval,
    pub last_activity_time: timeval,
    pub lock_timer: event,
    pub curw: *mut winlink,
    pub lastw: winlink_stack,
    pub windows: winlinks,
    pub statusat: i32,
    pub statuslines: u_int,
    pub options: *mut options,
    pub flags: i32,
    pub attached: u_int,
    pub tio: *mut termios,
    pub environ: *mut environ,
    pub references: i32,
    pub gentry: C2RustUnnamed_13,
    pub entry: C2RustUnnamed_12,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_12 {
    pub rbe_left: *mut session,
    pub rbe_right: *mut session,
    pub rbe_parent: *mut session,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_13 {
    pub tqe_next: *mut session,
    pub tqe_prev: *mut *mut session,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct winlinks {
    pub rbh_root: *mut winlink,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct winlink {
    pub idx: i32,
    pub session: *mut session,
    pub window: *mut window,
    pub flags: i32,
    pub entry: C2RustUnnamed_16,
    pub wentry: C2RustUnnamed_15,
    pub sentry: C2RustUnnamed_14,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_14 {
    pub tqe_next: *mut winlink,
    pub tqe_prev: *mut *mut winlink,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_15 {
    pub tqe_next: *mut winlink,
    pub tqe_prev: *mut *mut winlink,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_16 {
    pub rbe_left: *mut winlink,
    pub rbe_right: *mut winlink,
    pub rbe_parent: *mut winlink,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window {
    pub id: u_int,
    pub latest: *mut libc::c_void,
    pub name: *mut i8,
    pub name_event: event,
    pub name_time: timeval,
    pub alerts_timer: event,
    pub offset_timer: event,
    pub activity_time: timeval,
    pub active: *mut window_pane,
    pub last_panes: window_panes,
    pub panes: window_panes,
    pub lastlayout: i32,
    pub layout_root: *mut layout_cell,
    pub saved_layout_root: *mut layout_cell,
    pub old_layout: *mut i8,
    pub sx: u_int,
    pub sy: u_int,
    pub manual_sx: u_int,
    pub manual_sy: u_int,
    pub xpixel: u_int,
    pub ypixel: u_int,
    pub new_sx: u_int,
    pub new_sy: u_int,
    pub new_xpixel: u_int,
    pub new_ypixel: u_int,
    pub fill_character: *mut utf8_data,
    pub flags: i32,
    pub alerts_queued: i32,
    pub alerts_entry: C2RustUnnamed_19,
    pub options: *mut options,
    pub references: u_int,
    pub winlinks: C2RustUnnamed_18,
    pub entry: C2RustUnnamed_17,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_17 {
    pub rbe_left: *mut window,
    pub rbe_right: *mut window,
    pub rbe_parent: *mut window,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_18 {
    pub tqh_first: *mut winlink,
    pub tqh_last: *mut *mut winlink,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_19 {
    pub tqe_next: *mut window,
    pub tqe_prev: *mut *mut window,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct layout_cell {
    pub type_0: layout_type,
    pub parent: *mut layout_cell,
    pub sx: u_int,
    pub sy: u_int,
    pub xoff: u_int,
    pub yoff: u_int,
    pub wp: *mut window_pane,
    pub cells: layout_cells,
    pub entry: C2RustUnnamed_20,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_20 {
    pub tqe_next: *mut layout_cell,
    pub tqe_prev: *mut *mut layout_cell,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct layout_cells {
    pub tqh_first: *mut layout_cell,
    pub tqh_last: *mut *mut layout_cell,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_pane {
    pub id: u_int,
    pub active_point: u_int,
    pub window: *mut window,
    pub options: *mut options,
    pub layout_cell: *mut layout_cell,
    pub saved_layout_cell: *mut layout_cell,
    pub sx: u_int,
    pub sy: u_int,
    pub xoff: u_int,
    pub yoff: u_int,
    pub flags: i32,
    pub sb_slider_y: u_int,
    pub sb_slider_h: u_int,
    pub argc: i32,
    pub argv: *mut *mut i8,
    pub shell: *mut i8,
    pub cwd: *mut i8,
    pub pid: pid_t,
    pub tty: [i8; 32],
    pub status: i32,
    pub dead_time: timeval,
    pub fd: i32,
    pub event: *mut bufferevent,
    pub offset: window_pane_offset,
    pub base_offset: size_t,
    pub resize_queue: window_pane_resizes,
    pub resize_timer: event,
    pub ictx: *mut input_ctx,
    pub cached_gc: grid_cell,
    pub cached_active_gc: grid_cell,
    pub palette: colour_palette,
    pub pipe_fd: i32,
    pub pipe_event: *mut bufferevent,
    pub pipe_offset: window_pane_offset,
    pub screen: *mut screen,
    pub base: screen,
    pub status_screen: screen,
    pub status_size: size_t,
    pub modes: C2RustUnnamed_24,
    pub searchstr: *mut i8,
    pub searchregex: i32,
    pub border_gc_set: i32,
    pub border_gc: grid_cell,
    pub control_bg: i32,
    pub control_fg: i32,
    pub scrollbar_style: style,
    pub entry: C2RustUnnamed_23,
    pub sentry: C2RustUnnamed_22,
    pub tree_entry: C2RustUnnamed_21,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_21 {
    pub rbe_left: *mut window_pane,
    pub rbe_right: *mut window_pane,
    pub rbe_parent: *mut window_pane,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_22 {
    pub tqe_next: *mut window_pane,
    pub tqe_prev: *mut *mut window_pane,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_23 {
    pub tqe_next: *mut window_pane,
    pub tqe_prev: *mut *mut window_pane,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct style {
    pub gc: grid_cell,
    pub ignore: i32,
    pub fill: i32,
    pub align: style_align,
    pub list: style_list,
    pub range_type: style_range_type,
    pub range_argument: u_int,
    pub range_string: [i8; 16],
    pub width: i32,
    pub pad: i32,
    pub default_type: style_default_type,
}
pub type style_default_type = u32;
pub const STYLE_DEFAULT_POP: style_default_type = 2;
pub const STYLE_DEFAULT_PUSH: style_default_type = 1;
pub const STYLE_DEFAULT_BASE: style_default_type = 0;
pub type style_range_type = u32;
pub const STYLE_RANGE_USER: style_range_type = 6;
pub const STYLE_RANGE_SESSION: style_range_type = 5;
pub const STYLE_RANGE_WINDOW: style_range_type = 4;
pub const STYLE_RANGE_PANE: style_range_type = 3;
pub const STYLE_RANGE_RIGHT: style_range_type = 2;
pub const STYLE_RANGE_LEFT: style_range_type = 1;
pub const STYLE_RANGE_NONE: style_range_type = 0;
pub type style_list = u32;
pub const STYLE_LIST_RIGHT_MARKER: style_list = 4;
pub const STYLE_LIST_LEFT_MARKER: style_list = 3;
pub const STYLE_LIST_FOCUS: style_list = 2;
pub const STYLE_LIST_ON: style_list = 1;
pub const STYLE_LIST_OFF: style_list = 0;
pub type style_align = u32;
pub const STYLE_ALIGN_ABSOLUTE_CENTRE: style_align = 4;
pub const STYLE_ALIGN_RIGHT: style_align = 3;
pub const STYLE_ALIGN_CENTRE: style_align = 2;
pub const STYLE_ALIGN_LEFT: style_align = 1;
pub const STYLE_ALIGN_DEFAULT: style_align = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_24 {
    pub tqh_first: *mut window_mode_entry,
    pub tqh_last: *mut *mut window_mode_entry,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_mode_entry {
    pub wp: *mut window_pane,
    pub swp: *mut window_pane,
    pub mode: *const window_mode,
    pub data: *mut libc::c_void,
    pub screen: *mut screen,
    pub prefix: u_int,
    pub entry: C2RustUnnamed_25,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_25 {
    pub tqe_next: *mut window_mode_entry,
    pub tqe_prev: *mut *mut window_mode_entry,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_mode {
    pub name: *const i8,
    pub default_format: *const i8,
    pub init: Option<
        unsafe extern "C" fn(*mut window_mode_entry, *mut cmd_find_state, *mut args) -> *mut screen,
    >,
    pub free: Option<unsafe extern "C" fn(*mut window_mode_entry) -> ()>,
    pub resize: Option<unsafe extern "C" fn(*mut window_mode_entry, u_int, u_int) -> ()>,
    pub update: Option<unsafe extern "C" fn(*mut window_mode_entry) -> ()>,
    pub key: Option<
        unsafe extern "C" fn(
            *mut window_mode_entry,
            *mut client,
            *mut session,
            *mut winlink,
            key_code,
            *mut mouse_event,
        ) -> (),
    >,
    pub key_table: Option<unsafe extern "C" fn(*mut window_mode_entry) -> *const i8>,
    pub command: Option<
        unsafe extern "C" fn(
            *mut window_mode_entry,
            *mut client,
            *mut session,
            *mut winlink,
            *mut args,
            *mut mouse_event,
        ) -> (),
    >,
    pub formats: Option<unsafe extern "C" fn(*mut window_mode_entry, *mut format_tree) -> ()>,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct cmd_find_state {
    pub flags: i32,
    pub current: *mut cmd_find_state,
    pub s: *mut session,
    pub wl: *mut winlink,
    pub w: *mut window,
    pub wp: *mut window_pane,
    pub idx: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_pane_offset {
    pub used: size_t,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct colour_palette {
    pub fg: i32,
    pub bg: i32,
    pub palette: *mut i32,
    pub default_palette: *mut i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_pane_resizes {
    pub tqh_first: *mut window_pane_resize,
    pub tqh_last: *mut *mut window_pane_resize,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_pane_resize {
    pub sx: u_int,
    pub sy: u_int,
    pub osx: u_int,
    pub osy: u_int,
    pub entry: C2RustUnnamed_26,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_26 {
    pub tqe_next: *mut window_pane_resize,
    pub tqe_prev: *mut *mut window_pane_resize,
}
pub type layout_type = u32;
pub const LAYOUT_WINDOWPANE: layout_type = 2;
pub const LAYOUT_TOPBOTTOM: layout_type = 1;
pub const LAYOUT_LEFTRIGHT: layout_type = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_panes {
    pub tqh_first: *mut window_pane,
    pub tqh_last: *mut *mut window_pane,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct winlink_stack {
    pub tqh_first: *mut winlink,
    pub tqh_last: *mut *mut winlink,
}
pub type prompt_type = u32;
pub const PROMPT_TYPE_INVALID: prompt_type = 255;
pub const PROMPT_TYPE_WINDOW_TARGET: prompt_type = 3;
pub const PROMPT_TYPE_TARGET: prompt_type = 2;
pub const PROMPT_TYPE_SEARCH: prompt_type = 1;
pub const PROMPT_TYPE_COMMAND: prompt_type = 0;
pub type C2RustUnnamed_27 = u32;
pub const PROMPT_COMMAND: C2RustUnnamed_27 = 1;
pub const PROMPT_ENTRY: C2RustUnnamed_27 = 0;
pub type prompt_free_cb = Option<unsafe extern "C" fn(*mut libc::c_void) -> ()>;
pub type prompt_input_cb = Option<
    unsafe extern "C" fn(
        *mut client,
        *mut libc::c_void,
        *const i8,
        i32,
    ) -> i32,
>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct key_table {
    pub name: *const i8,
    pub activity_time: timeval,
    pub key_bindings: key_bindings,
    pub default_key_bindings: key_bindings,
    pub references: u_int,
    pub entry: C2RustUnnamed_28,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_28 {
    pub rbe_left: *mut key_table,
    pub rbe_right: *mut key_table,
    pub rbe_parent: *mut key_table,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct key_bindings {
    pub rbh_root: *mut key_binding,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct key_binding {
    pub key: key_code,
    pub cmdlist: *mut cmd_list,
    pub note: *const i8,
    pub flags: i32,
    pub entry: C2RustUnnamed_29,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_29 {
    pub rbe_left: *mut key_binding,
    pub rbe_right: *mut key_binding,
    pub rbe_parent: *mut key_binding,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct cmd_list {
    pub references: i32,
    pub group: u_int,
    pub list: *mut cmds,
}
pub type C2RustUnnamed_30 = u32;
pub const CLIENT_EXIT_DETACH: C2RustUnnamed_30 = 2;
pub const CLIENT_EXIT_SHUTDOWN: C2RustUnnamed_30 = 1;
pub const CLIENT_EXIT_RETURN: C2RustUnnamed_30 = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct status_line {
    pub timer: event,
    pub screen: screen,
    pub active: *mut screen,
    pub references: i32,
    pub style: grid_cell,
    pub entries: [status_line_entry; 5],
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct status_line_entry {
    pub expanded: *mut i8,
    pub ranges: style_ranges,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct style_ranges {
    pub tqh_first: *mut style_range,
    pub tqh_last: *mut *mut style_range,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct style_range {
    pub type_0: style_range_type,
    pub argument: u_int,
    pub string: [i8; 16],
    pub start: u_int,
    pub end: u_int,
    pub entry: C2RustUnnamed_31,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_31 {
    pub tqe_next: *mut style_range,
    pub tqe_prev: *mut *mut style_range,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct tty {
    pub client: *mut client,
    pub start_timer: event,
    pub clipboard_timer: event,
    pub last_requests: time_t,
    pub sx: u_int,
    pub sy: u_int,
    pub xpixel: u_int,
    pub ypixel: u_int,
    pub cx: u_int,
    pub cy: u_int,
    pub cstyle: screen_cursor_style,
    pub ccolour: i32,
    pub oflag: i32,
    pub oox: u_int,
    pub ooy: u_int,
    pub osx: u_int,
    pub osy: u_int,
    pub mode: i32,
    pub fg: i32,
    pub bg: i32,
    pub rlower: u_int,
    pub rupper: u_int,
    pub rleft: u_int,
    pub rright: u_int,
    pub event_in: event,
    pub in_0: *mut evbuffer,
    pub event_out: event,
    pub out: *mut evbuffer,
    pub timer: event,
    pub discarded: size_t,
    pub tio: termios,
    pub cell: grid_cell,
    pub last_cell: grid_cell,
    pub flags: i32,
    pub term: *mut tty_term,
    pub mouse_last_x: u_int,
    pub mouse_last_y: u_int,
    pub mouse_last_b: u_int,
    pub mouse_drag_flag: i32,
    pub mouse_scrolling_flag: i32,
    pub mouse_slider_mpos: i32,
    pub mouse_drag_update: Option<unsafe extern "C" fn(*mut client, *mut mouse_event) -> ()>,
    pub mouse_drag_release: Option<unsafe extern "C" fn(*mut client, *mut mouse_event) -> ()>,
    pub key_timer: event,
    pub key_tree: *mut tty_key,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct tty_term {
    pub name: *mut i8,
    pub tty: *mut tty,
    pub features: i32,
    pub acs: [[i8; 2]; 256],
    pub codes: *mut tty_code,
    pub flags: i32,
    pub entry: C2RustUnnamed_32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_32 {
    pub le_next: *mut tty_term,
    pub le_prev: *mut *mut tty_term,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct tty_code {
    pub type_0: tty_code_type,
    pub value: C2RustUnnamed_33,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union C2RustUnnamed_33 {
    pub string: *mut i8,
    pub number: i32,
    pub flag: i32,
}
pub type tty_code_type = u32;
pub const TTYCODE_FLAG: tty_code_type = 3;
pub const TTYCODE_NUMBER: tty_code_type = 2;
pub const TTYCODE_STRING: tty_code_type = 1;
pub const TTYCODE_NONE: tty_code_type = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct client_windows {
    pub rbh_root: *mut client_window,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct client_window {
    pub window: u_int,
    pub pane: *mut window_pane,
    pub sx: u_int,
    pub sy: u_int,
    pub entry: C2RustUnnamed_34,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_34 {
    pub rbe_left: *mut client_window,
    pub rbe_right: *mut client_window,
    pub rbe_parent: *mut client_window,
    pub rbe_color: i32,
}
pub type tty_code_code = u32;
pub const TTYC_XT: tty_code_code = 231;
pub const TTYC_VPA: tty_code_code = 230;
pub const TTYC_U8: tty_code_code = 229;
pub const TTYC_TSL: tty_code_code = 228;
pub const TTYC_TC: tty_code_code = 227;
pub const TTYC_SYNC: tty_code_code = 226;
pub const TTYC_SWD: tty_code_code = 225;
pub const TTYC_SS: tty_code_code = 224;
pub const TTYC_SXL: tty_code_code = 223;
pub const TTYC_SMXX: tty_code_code = 222;
pub const TTYC_SMULX: tty_code_code = 221;
pub const TTYC_SMUL: tty_code_code = 220;
pub const TTYC_SMSO: tty_code_code = 219;
pub const TTYC_SMOL: tty_code_code = 218;
pub const TTYC_SMKX: tty_code_code = 217;
pub const TTYC_SMCUP: tty_code_code = 216;
pub const TTYC_SMACS: tty_code_code = 215;
pub const TTYC_SITM: tty_code_code = 214;
pub const TTYC_SGR0: tty_code_code = 213;
pub const TTYC_SETULC1: tty_code_code = 212;
pub const TTYC_SETULC: tty_code_code = 211;
pub const TTYC_SETRGBF: tty_code_code = 210;
pub const TTYC_SETRGBB: tty_code_code = 209;
pub const TTYC_SETAL: tty_code_code = 208;
pub const TTYC_SETAF: tty_code_code = 207;
pub const TTYC_SETAB: tty_code_code = 206;
pub const TTYC_SE: tty_code_code = 205;
pub const TTYC_RMKX: tty_code_code = 204;
pub const TTYC_RMCUP: tty_code_code = 203;
pub const TTYC_RMACS: tty_code_code = 202;
pub const TTYC_RIN: tty_code_code = 201;
pub const TTYC_RI: tty_code_code = 200;
pub const TTYC_RGB: tty_code_code = 199;
pub const TTYC_REV: tty_code_code = 198;
pub const TTYC_RECT: tty_code_code = 197;
pub const TTYC_OP: tty_code_code = 196;
pub const TTYC_OL: tty_code_code = 195;
pub const TTYC_NOBR: tty_code_code = 194;
pub const TTYC_MS: tty_code_code = 193;
pub const TTYC_KUP7: tty_code_code = 192;
pub const TTYC_KUP6: tty_code_code = 191;
pub const TTYC_KUP5: tty_code_code = 190;
pub const TTYC_KUP4: tty_code_code = 189;
pub const TTYC_KUP3: tty_code_code = 188;
pub const TTYC_KUP2: tty_code_code = 187;
pub const TTYC_KRIT7: tty_code_code = 186;
pub const TTYC_KRIT6: tty_code_code = 185;
pub const TTYC_KRIT5: tty_code_code = 184;
pub const TTYC_KRIT4: tty_code_code = 183;
pub const TTYC_KRIT3: tty_code_code = 182;
pub const TTYC_KRIT2: tty_code_code = 181;
pub const TTYC_KRI: tty_code_code = 180;
pub const TTYC_KPRV7: tty_code_code = 179;
pub const TTYC_KPRV6: tty_code_code = 178;
pub const TTYC_KPRV5: tty_code_code = 177;
pub const TTYC_KPRV4: tty_code_code = 176;
pub const TTYC_KPRV3: tty_code_code = 175;
pub const TTYC_KPRV2: tty_code_code = 174;
pub const TTYC_KPP: tty_code_code = 173;
pub const TTYC_KNXT7: tty_code_code = 172;
pub const TTYC_KNXT6: tty_code_code = 171;
pub const TTYC_KNXT5: tty_code_code = 170;
pub const TTYC_KNXT4: tty_code_code = 169;
pub const TTYC_KNXT3: tty_code_code = 168;
pub const TTYC_KNXT2: tty_code_code = 167;
pub const TTYC_KNP: tty_code_code = 166;
pub const TTYC_KMOUS: tty_code_code = 165;
pub const TTYC_KLFT7: tty_code_code = 164;
pub const TTYC_KLFT6: tty_code_code = 163;
pub const TTYC_KLFT5: tty_code_code = 162;
pub const TTYC_KLFT4: tty_code_code = 161;
pub const TTYC_KLFT3: tty_code_code = 160;
pub const TTYC_KLFT2: tty_code_code = 159;
pub const TTYC_KIND: tty_code_code = 158;
pub const TTYC_KICH1: tty_code_code = 157;
pub const TTYC_KIC7: tty_code_code = 156;
pub const TTYC_KIC6: tty_code_code = 155;
pub const TTYC_KIC5: tty_code_code = 154;
pub const TTYC_KIC4: tty_code_code = 153;
pub const TTYC_KIC3: tty_code_code = 152;
pub const TTYC_KIC2: tty_code_code = 151;
pub const TTYC_KHOME: tty_code_code = 150;
pub const TTYC_KHOM7: tty_code_code = 149;
pub const TTYC_KHOM6: tty_code_code = 148;
pub const TTYC_KHOM5: tty_code_code = 147;
pub const TTYC_KHOM4: tty_code_code = 146;
pub const TTYC_KHOM3: tty_code_code = 145;
pub const TTYC_KHOM2: tty_code_code = 144;
pub const TTYC_KF9: tty_code_code = 143;
pub const TTYC_KF8: tty_code_code = 142;
pub const TTYC_KF7: tty_code_code = 141;
pub const TTYC_KF63: tty_code_code = 140;
pub const TTYC_KF62: tty_code_code = 139;
pub const TTYC_KF61: tty_code_code = 138;
pub const TTYC_KF60: tty_code_code = 137;
pub const TTYC_KF6: tty_code_code = 136;
pub const TTYC_KF59: tty_code_code = 135;
pub const TTYC_KF58: tty_code_code = 134;
pub const TTYC_KF57: tty_code_code = 133;
pub const TTYC_KF56: tty_code_code = 132;
pub const TTYC_KF55: tty_code_code = 131;
pub const TTYC_KF54: tty_code_code = 130;
pub const TTYC_KF53: tty_code_code = 129;
pub const TTYC_KF52: tty_code_code = 128;
pub const TTYC_KF51: tty_code_code = 127;
pub const TTYC_KF50: tty_code_code = 126;
pub const TTYC_KF5: tty_code_code = 125;
pub const TTYC_KF49: tty_code_code = 124;
pub const TTYC_KF48: tty_code_code = 123;
pub const TTYC_KF47: tty_code_code = 122;
pub const TTYC_KF46: tty_code_code = 121;
pub const TTYC_KF45: tty_code_code = 120;
pub const TTYC_KF44: tty_code_code = 119;
pub const TTYC_KF43: tty_code_code = 118;
pub const TTYC_KF42: tty_code_code = 117;
pub const TTYC_KF41: tty_code_code = 116;
pub const TTYC_KF40: tty_code_code = 115;
pub const TTYC_KF4: tty_code_code = 114;
pub const TTYC_KF39: tty_code_code = 113;
pub const TTYC_KF38: tty_code_code = 112;
pub const TTYC_KF37: tty_code_code = 111;
pub const TTYC_KF36: tty_code_code = 110;
pub const TTYC_KF35: tty_code_code = 109;
pub const TTYC_KF34: tty_code_code = 108;
pub const TTYC_KF33: tty_code_code = 107;
pub const TTYC_KF32: tty_code_code = 106;
pub const TTYC_KF31: tty_code_code = 105;
pub const TTYC_KF30: tty_code_code = 104;
pub const TTYC_KF3: tty_code_code = 103;
pub const TTYC_KF29: tty_code_code = 102;
pub const TTYC_KF28: tty_code_code = 101;
pub const TTYC_KF27: tty_code_code = 100;
pub const TTYC_KF26: tty_code_code = 99;
pub const TTYC_KF25: tty_code_code = 98;
pub const TTYC_KF24: tty_code_code = 97;
pub const TTYC_KF23: tty_code_code = 96;
pub const TTYC_KF22: tty_code_code = 95;
pub const TTYC_KF21: tty_code_code = 94;
pub const TTYC_KF20: tty_code_code = 93;
pub const TTYC_KF2: tty_code_code = 92;
pub const TTYC_KF19: tty_code_code = 91;
pub const TTYC_KF18: tty_code_code = 90;
pub const TTYC_KF17: tty_code_code = 89;
pub const TTYC_KF16: tty_code_code = 88;
pub const TTYC_KF15: tty_code_code = 87;
pub const TTYC_KF14: tty_code_code = 86;
pub const TTYC_KF13: tty_code_code = 85;
pub const TTYC_KF12: tty_code_code = 84;
pub const TTYC_KF11: tty_code_code = 83;
pub const TTYC_KF10: tty_code_code = 82;
pub const TTYC_KF1: tty_code_code = 81;
pub const TTYC_KEND7: tty_code_code = 80;
pub const TTYC_KEND6: tty_code_code = 79;
pub const TTYC_KEND5: tty_code_code = 78;
pub const TTYC_KEND4: tty_code_code = 77;
pub const TTYC_KEND3: tty_code_code = 76;
pub const TTYC_KEND2: tty_code_code = 75;
pub const TTYC_KEND: tty_code_code = 74;
pub const TTYC_KDN7: tty_code_code = 73;
pub const TTYC_KDN6: tty_code_code = 72;
pub const TTYC_KDN5: tty_code_code = 71;
pub const TTYC_KDN4: tty_code_code = 70;
pub const TTYC_KDN3: tty_code_code = 69;
pub const TTYC_KDN2: tty_code_code = 68;
pub const TTYC_KDCH1: tty_code_code = 67;
pub const TTYC_KDC7: tty_code_code = 66;
pub const TTYC_KDC6: tty_code_code = 65;
pub const TTYC_KDC5: tty_code_code = 64;
pub const TTYC_KDC4: tty_code_code = 63;
pub const TTYC_KDC3: tty_code_code = 62;
pub const TTYC_KDC2: tty_code_code = 61;
pub const TTYC_KCUU1: tty_code_code = 60;
pub const TTYC_KCUF1: tty_code_code = 59;
pub const TTYC_KCUD1: tty_code_code = 58;
pub const TTYC_KCUB1: tty_code_code = 57;
pub const TTYC_KCBT: tty_code_code = 56;
pub const TTYC_INVIS: tty_code_code = 55;
pub const TTYC_INDN: tty_code_code = 54;
pub const TTYC_IL1: tty_code_code = 53;
pub const TTYC_IL: tty_code_code = 52;
pub const TTYC_ICH1: tty_code_code = 51;
pub const TTYC_ICH: tty_code_code = 50;
pub const TTYC_HPA: tty_code_code = 49;
pub const TTYC_HOME: tty_code_code = 48;
pub const TTYC_HLS: tty_code_code = 47;
pub const TTYC_FSL: tty_code_code = 46;
pub const TTYC_ENMG: tty_code_code = 45;
pub const TTYC_ENFCS: tty_code_code = 44;
pub const TTYC_ENEKS: tty_code_code = 43;
pub const TTYC_ENBP: tty_code_code = 42;
pub const TTYC_ENACS: tty_code_code = 41;
pub const TTYC_EL1: tty_code_code = 40;
pub const TTYC_EL: tty_code_code = 39;
pub const TTYC_ED: tty_code_code = 38;
pub const TTYC_ECH: tty_code_code = 37;
pub const TTYC_E3: tty_code_code = 36;
pub const TTYC_DSMG: tty_code_code = 35;
pub const TTYC_DSFCS: tty_code_code = 34;
pub const TTYC_DSEKS: tty_code_code = 33;
pub const TTYC_DSBP: tty_code_code = 32;
pub const TTYC_DL1: tty_code_code = 31;
pub const TTYC_DL: tty_code_code = 30;
pub const TTYC_DIM: tty_code_code = 29;
pub const TTYC_DCH1: tty_code_code = 28;
pub const TTYC_DCH: tty_code_code = 27;
pub const TTYC_CVVIS: tty_code_code = 26;
pub const TTYC_CUU1: tty_code_code = 25;
pub const TTYC_CUU: tty_code_code = 24;
pub const TTYC_CUP: tty_code_code = 23;
pub const TTYC_CUF1: tty_code_code = 22;
pub const TTYC_CUF: tty_code_code = 21;
pub const TTYC_CUD1: tty_code_code = 20;
pub const TTYC_CUD: tty_code_code = 19;
pub const TTYC_CUB1: tty_code_code = 18;
pub const TTYC_CUB: tty_code_code = 17;
pub const TTYC_CSR: tty_code_code = 16;
pub const TTYC_CS: tty_code_code = 15;
pub const TTYC_CR: tty_code_code = 14;
pub const TTYC_COLORS: tty_code_code = 13;
pub const TTYC_CNORM: tty_code_code = 12;
pub const TTYC_CMG: tty_code_code = 11;
pub const TTYC_CLMG: tty_code_code = 10;
pub const TTYC_CLEAR: tty_code_code = 9;
pub const TTYC_CIVIS: tty_code_code = 8;
pub const TTYC_BOLD: tty_code_code = 7;
pub const TTYC_BLINK: tty_code_code = 6;
pub const TTYC_BIDI: tty_code_code = 5;
pub const TTYC_BEL: tty_code_code = 4;
pub const TTYC_BCE: tty_code_code = 3;
pub const TTYC_AX: tty_code_code = 2;
pub const TTYC_AM: tty_code_code = 1;
pub const TTYC_ACSC: tty_code_code = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct tty_terms {
    pub lh_first: *mut tty_term,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct options_array {
    pub rbh_root: *mut options_array_item,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union options_value {
    pub string: *mut i8,
    pub number: i64,
    pub style: style,
    pub array: options_array,
    pub cmdlist: *mut cmd_list,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct tty_term_code_entry {
    pub type_0: tty_code_type,
    pub name: *const i8,
}
#[no_mangle]
pub static mut tty_terms: tty_terms = {
    let mut init = tty_terms {
        lh_first: 0 as *const tty_term as *mut tty_term,
    };
    init
};
static mut tty_term_codes: [tty_term_code_entry; 232] = [
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"acsc\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_FLAG,
            name: b"am\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_FLAG,
            name: b"AX\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_FLAG,
            name: b"bce\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"bel\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Bidi\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"blink\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"bold\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"civis\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"clear\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Clmg\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Cmg\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cnorm\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_NUMBER,
            name: b"colors\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Cr\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Cs\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"csr\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cub\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cub1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cud\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cud1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cuf\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cuf1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cup\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cuu\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cuu1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"cvvis\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"dch\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"dch1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"dim\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"dl\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"dl1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Dsbp\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Dseks\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Dsfcs\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Dsmg\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"E3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"ech\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"ed\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"el\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"el1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"enacs\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Enbp\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Eneks\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Enfcs\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Enmg\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"fsl\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Hls\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"home\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"hpa\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"ich\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"ich1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"il\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"il1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"indn\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"invis\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kcbt\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kcub1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kcud1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kcuf1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kcuu1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDC\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDC3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDC4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDC5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDC6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDC7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kdch1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDN\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDN3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDN4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDN5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDN6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kDN7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kend\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kEND\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kEND3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kEND4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kEND5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kEND6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kEND7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf10\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf11\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf12\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf13\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf14\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf15\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf16\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf17\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf18\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf19\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf2\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf20\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf21\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf22\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf23\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf24\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf25\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf26\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf27\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf28\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf29\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf30\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf31\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf32\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf33\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf34\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf35\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf36\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf37\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf38\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf39\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf40\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf41\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf42\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf43\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf44\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf45\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf46\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf47\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf48\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf49\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf50\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf51\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf52\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf53\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf54\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf55\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf56\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf57\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf58\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf59\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf60\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf61\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf62\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf63\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf8\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kf9\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kHOM\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kHOM3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kHOM4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kHOM5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kHOM6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kHOM7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"khome\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kIC\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kIC3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kIC4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kIC5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kIC6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kIC7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kich1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kind\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kLFT\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kLFT3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kLFT4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kLFT5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kLFT6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kLFT7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kmous\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"knp\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kNXT\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kNXT3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kNXT4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kNXT5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kNXT6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kNXT7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kpp\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kPRV\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kPRV3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kPRV4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kPRV5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kPRV6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kPRV7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kri\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kRIT\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kRIT3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kRIT4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kRIT5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kRIT6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kRIT7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kUP\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kUP3\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kUP4\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kUP5\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kUP6\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"kUP7\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Ms\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Nobr\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"ol\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"op\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Rect\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"rev\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_FLAG,
            name: b"RGB\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"ri\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"rin\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"rmacs\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"rmcup\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"rmkx\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Se\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"setab\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"setaf\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"setal\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"setrgbb\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"setrgbf\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Setulc\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Setulc1\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"sgr0\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"sitm\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"smacs\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"smcup\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"smkx\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Smol\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"smso\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"smul\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Smulx\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"smxx\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_FLAG,
            name: b"Sxl\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Ss\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Swd\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"Sync\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_FLAG,
            name: b"Tc\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"tsl\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_NUMBER,
            name: b"U8\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_STRING,
            name: b"vpa\0" as *const u8 as *const i8,
        };
        init
    },
    {
        let mut init = tty_term_code_entry {
            type_0: TTYCODE_FLAG,
            name: b"XT\0" as *const u8 as *const i8,
        };
        init
    },
];
#[no_mangle]
pub unsafe extern "C" fn tty_term_ncodes() -> u_int {
    return (::core::mem::size_of::<[tty_term_code_entry; 232]>() as u64)
        .wrapping_div(::core::mem::size_of::<tty_term_code_entry>() as u64)
        as u_int;
}
unsafe extern "C" fn tty_term_strip(mut s: *const i8) -> *mut i8 {
    let mut ptr: *const i8 = std::ptr::null::<i8>();
    static mut buf: [i8; 8192] = [0; 8192];
    let mut len: size_t = 0;
    if (strchr(s, '$' as i32)).is_null() {
        return xstrdup(s);
    }
    len = 0 as i32 as size_t;
    ptr = s;
    while *ptr as i32 != '\0' as i32 {
        if *ptr as i32 == '$' as i32
            && *ptr.offset(1 as i32 as isize) as i32 == '<' as i32
        {
            while *ptr as i32 != '\0' as i32 && *ptr as i32 != '>' as i32 {
                ptr = ptr.offset(1);
            }
            if *ptr as i32 == '>' as i32 {
                ptr = ptr.offset(1);
            }
            if *ptr as i32 == '\0' as i32 {
                break;
            }
        }
        let fresh0 = len;
        len = len.wrapping_add(1);
        buf[fresh0 as usize] = *ptr;
        if len
            == (::core::mem::size_of::<[i8; 8192]>() as u64)
                .wrapping_sub(1 as i32 as u64)
        {
            break;
        }
        ptr = ptr.offset(1);
    }
    buf[len as usize] = '\0' as i32 as i8;
    return xstrdup(buf.as_mut_ptr());
}
unsafe extern "C" fn tty_term_override_next(
    mut s: *const i8,
    mut offset: *mut size_t,
) -> *mut i8 {
    static mut value: [i8; 8192] = [0; 8192];
    let mut n: size_t = 0 as i32 as size_t;
    let mut at: size_t = *offset;
    if *s.offset(at as isize) as i32 == '\0' as i32 {
        return std::ptr::null_mut::<i8>();
    }
    while *s.offset(at as isize) as i32 != '\0' as i32 {
        if *s.offset(at as isize) as i32 == ':' as i32 {
            if *s.offset(at.wrapping_add(1 as i32 as u64) as isize) as i32
                != ':' as i32
            {
                break;
            }
            let fresh1 = n;
            n = n.wrapping_add(1);
            value[fresh1 as usize] = ':' as i32 as i8;
            at = (at as u64).wrapping_add(2 as i32 as u64) as size_t
                as size_t;
        } else {
            let fresh2 = n;
            n = n.wrapping_add(1);
            value[fresh2 as usize] = *s.offset(at as isize);
            at = at.wrapping_add(1);
        }
        if n == (::core::mem::size_of::<[i8; 8192]>() as u64)
            .wrapping_sub(1 as i32 as u64)
        {
            return std::ptr::null_mut::<i8>();
        }
    }
    if *s.offset(at as isize) as i32 != '\0' as i32 {
        *offset = at.wrapping_add(1 as i32 as u64);
    } else {
        *offset = at;
    }
    value[n as usize] = '\0' as i32 as i8;
    return value.as_mut_ptr();
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_apply(
    mut term: *mut tty_term,
    mut capabilities: *const i8,
    mut quiet: i32,
) {
    let mut ent: *const tty_term_code_entry = std::ptr::null::<tty_term_code_entry>();
    let mut code: *mut tty_code = std::ptr::null_mut::<tty_code>();
    let mut offset: size_t = 0 as i32 as size_t;
    let mut cp: *mut i8 = std::ptr::null_mut::<i8>();
    let mut value: *mut i8 = std::ptr::null_mut::<i8>();
    let mut s: *mut i8 = std::ptr::null_mut::<i8>();
    let mut errstr: *const i8 = std::ptr::null::<i8>();
    let mut name: *const i8 = (*term).name;
    let mut i: u_int = 0;
    let mut n: i32 = 0;
    let mut remove: i32 = 0;
    loop {
        s = tty_term_override_next(capabilities, &mut offset);
        if s.is_null() {
            break;
        }
        if *s as i32 == '\0' as i32 {
            continue;
        }
        value = std::ptr::null_mut::<i8>();
        remove = 0 as i32;
        cp = strchr(s, '=' as i32);
        if !cp.is_null() {
            let fresh3 = cp;
            cp = cp.offset(1);
            *fresh3 = '\0' as i32 as i8;
            value = xstrdup(cp);
            if strunvis(value, cp) == -(1 as i32) {
                free(value as *mut libc::c_void);
                value = xstrdup(cp);
            }
        } else if *s.offset((strlen(s)).wrapping_sub(1 as i32 as u64) as isize)
            as i32
            == '@' as i32
        {
            *s.offset((strlen(s)).wrapping_sub(1 as i32 as u64) as isize) =
                '\0' as i32 as i8;
            remove = 1 as i32;
        } else {
            value = xstrdup(b"\0" as *const u8 as *const i8);
        }
        if quiet == 0 {
            if remove != 0 {
                log_debug(
                    b"%s override: %s@\0" as *const u8 as *const i8,
                    name,
                    s,
                );
            } else if *value as i32 == '\0' as i32 {
                log_debug(
                    b"%s override: %s\0" as *const u8 as *const i8,
                    name,
                    s,
                );
            } else {
                log_debug(
                    b"%s override: %s=%s\0" as *const u8 as *const i8,
                    name,
                    s,
                    value,
                );
            }
        }
        i = 0 as i32 as u_int;
        while i < tty_term_ncodes() {
            ent = &*tty_term_codes.as_ptr().offset(i as isize) as *const tty_term_code_entry;
            if strcmp(s, (*ent).name) == 0 as i32 {
                code = &mut *((*term).codes).offset(i as isize) as *mut tty_code;
                if remove != 0 {
                    (*code).type_0 = TTYCODE_NONE;
                } else {
                    match (*ent).type_0 as u32 {
                        1 => {
                            if (*code).type_0 as u32
                                == TTYCODE_STRING as i32 as u32
                            {
                                free((*code).value.string as *mut libc::c_void);
                            }
                            (*code).value.string = xstrdup(value);
                            (*code).type_0 = (*ent).type_0;
                        }
                        2 => {
                            n = strtonum(
                                value,
                                0 as i32 as i64,
                                2147483647 as i32 as i64,
                                &mut errstr,
                            ) as i32;
                            if errstr.is_null() {
                                (*code).value.number = n;
                                (*code).type_0 = (*ent).type_0;
                            }
                        }
                        3 => {
                            (*code).value.flag = 1 as i32;
                            (*code).type_0 = (*ent).type_0;
                        }
                        0 | _ => {}
                    }
                }
            }
            i = i.wrapping_add(1);
        }
        free(value as *mut libc::c_void);
    }
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_apply_overrides(mut term: *mut tty_term) {
    let mut o: *mut options_entry = std::ptr::null_mut::<options_entry>();
    let mut a: *mut options_array_item = std::ptr::null_mut::<options_array_item>();
    let mut ov: *mut options_value = std::ptr::null_mut::<options_value>();
    let mut s: *const i8 = std::ptr::null::<i8>();
    let mut acs: *const i8 = std::ptr::null::<i8>();
    let mut offset: size_t = 0;
    let mut first: *mut i8 = std::ptr::null_mut::<i8>();
    o = options_get_only(
        global_options,
        b"terminal-overrides\0" as *const u8 as *const i8,
    );
    a = options_array_first(o);
    while !a.is_null() {
        ov = options_array_item_value(a);
        s = (*ov).string;
        offset = 0 as i32 as size_t;
        first = tty_term_override_next(s, &mut offset);
        if !first.is_null() && fnmatch(first, (*term).name, 0 as i32) == 0 as i32 {
            tty_term_apply(term, s.offset(offset as isize), 0 as i32);
        }
        a = options_array_next(a);
    }
    log_debug(
        b"SIXEL flag is %d\0" as *const u8 as *const i8,
        ((*term).flags & 0x40 as i32 != 0) as i32,
    );
    if tty_term_has(term, TTYC_SETRGBF) != 0 && tty_term_has(term, TTYC_SETRGBB) != 0 {
        (*term).flags |= 0x10 as i32;
    } else {
        (*term).flags &= !(0x10 as i32);
    }
    log_debug(
        b"RGBCOLOURS flag is %d\0" as *const u8 as *const i8,
        ((*term).flags & 0x10 as i32 != 0) as i32,
    );
    if tty_term_has(term, TTYC_CMG) != 0 && tty_term_has(term, TTYC_CLMG) != 0 {
        (*term).flags |= 0x4 as i32;
    } else {
        (*term).flags &= !(0x4 as i32);
    }
    log_debug(
        b"DECSLRM flag is %d\0" as *const u8 as *const i8,
        ((*term).flags & 0x4 as i32 != 0) as i32,
    );
    if tty_term_has(term, TTYC_RECT) != 0 {
        (*term).flags |= 0x8 as i32;
    } else {
        (*term).flags &= !(0x8 as i32);
    }
    log_debug(
        b"DECFRA flag is %d\0" as *const u8 as *const i8,
        ((*term).flags & 0x8 as i32 != 0) as i32,
    );
    if tty_term_flag(term, TTYC_AM) == 0 {
        (*term).flags |= 0x2 as i32;
    } else {
        (*term).flags &= !(0x2 as i32);
    }
    log_debug(
        b"NOAM flag is %d\0" as *const u8 as *const i8,
        ((*term).flags & 0x2 as i32 != 0) as i32,
    );
    memset(
        ((*term).acs).as_mut_ptr() as *mut libc::c_void,
        0 as i32,
        ::core::mem::size_of::<[[i8; 2]; 256]>() as u64,
    );
    if tty_term_has(term, TTYC_ACSC) != 0 {
        acs = tty_term_string(term, TTYC_ACSC);
    } else {
        acs = b"a#j+k+l+m+n+o-p-q-r-s-t+u+v+w+x|y<z>~.\0" as *const u8 as *const i8;
    }
    while *acs.offset(0 as i32 as isize) as i32 != '\0' as i32
        && *acs.offset(1 as i32 as isize) as i32 != '\0' as i32
    {
        (*term).acs[*acs.offset(0 as i32 as isize) as u_char as usize]
            [0 as i32 as usize] = *acs.offset(1 as i32 as isize);
        acs = acs.offset(2 as i32 as isize);
    }
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_create(
    mut tty: *mut tty,
    mut name: *mut i8,
    mut caps: *mut *mut i8,
    mut ncaps: u_int,
    mut feat: *mut i32,
    mut cause: *mut *mut i8,
) -> *mut tty_term {
    let mut term: *mut tty_term = std::ptr::null_mut::<tty_term>();
    let mut ent: *const tty_term_code_entry = std::ptr::null::<tty_term_code_entry>();
    let mut code: *mut tty_code = std::ptr::null_mut::<tty_code>();
    let mut o: *mut options_entry = std::ptr::null_mut::<options_entry>();
    let mut a: *mut options_array_item = std::ptr::null_mut::<options_array_item>();
    let mut ov: *mut options_value = std::ptr::null_mut::<options_value>();
    let mut i: u_int = 0;
    let mut j: u_int = 0;
    let mut s: *const i8 = std::ptr::null::<i8>();
    let mut value: *const i8 = std::ptr::null::<i8>();
    let mut errstr: *const i8 = std::ptr::null::<i8>();
    let mut offset: size_t = 0;
    let mut namelen: size_t = 0;
    let mut first: *mut i8 = std::ptr::null_mut::<i8>();
    let mut n: i32 = 0;
    log_debug(
        b"adding term %s\0" as *const u8 as *const i8,
        name,
    );
    term = xcalloc(
        1 as i32 as size_t,
        ::core::mem::size_of::<tty_term>() as u64,
    ) as *mut tty_term;
    (*term).tty = tty;
    (*term).name = xstrdup(name);
    (*term).codes = xcalloc(
        tty_term_ncodes() as size_t,
        ::core::mem::size_of::<tty_code>() as u64,
    ) as *mut tty_code;
    (*term).entry.le_next = tty_terms.lh_first;
    if !((*term).entry.le_next).is_null() {
        (*tty_terms.lh_first).entry.le_prev = &mut (*term).entry.le_next;
    }
    tty_terms.lh_first = term;
    (*term).entry.le_prev = &mut tty_terms.lh_first;
    i = 0 as i32 as u_int;
    while i < ncaps {
        namelen = strcspn(
            *caps.offset(i as isize),
            b"=\0" as *const u8 as *const i8,
        );
        if namelen != 0 as i32 as u64 {
            value = (*caps.offset(i as isize))
                .offset(namelen as isize)
                .offset(1 as i32 as isize);
            j = 0 as i32 as u_int;
            while j < tty_term_ncodes() {
                ent = &*tty_term_codes.as_ptr().offset(j as isize) as *const tty_term_code_entry;
                if strncmp((*ent).name, *caps.offset(i as isize), namelen) == 0 as i32 {
                    if *((*ent).name).offset(namelen as isize) as i32 == '\0' as i32 {
                        code = &mut *((*term).codes).offset(j as isize) as *mut tty_code;
                        (*code).type_0 = TTYCODE_NONE;
                        match (*ent).type_0 as u32 {
                            1 => {
                                (*code).type_0 = TTYCODE_STRING;
                                (*code).value.string = tty_term_strip(value);
                            }
                            2 => {
                                n = strtonum(
                                    value,
                                    0 as i32 as i64,
                                    2147483647 as i32 as i64,
                                    &mut errstr,
                                ) as i32;
                                if !errstr.is_null() {
                                    log_debug(
                                        b"%s: %s\0" as *const u8 as *const i8,
                                        (*ent).name,
                                        errstr,
                                    );
                                } else {
                                    (*code).type_0 = TTYCODE_NUMBER;
                                    (*code).value.number = n;
                                }
                            }
                            3 => {
                                (*code).type_0 = TTYCODE_FLAG;
                                (*code).value.flag =
                                    (*value as i32 == '1' as i32) as i32;
                            }
                            0 | _ => {}
                        }
                    }
                }
                j = j.wrapping_add(1);
            }
        }
        i = i.wrapping_add(1);
    }
    o = options_get_only(
        global_options,
        b"terminal-features\0" as *const u8 as *const i8,
    );
    a = options_array_first(o);
    while !a.is_null() {
        ov = options_array_item_value(a);
        s = (*ov).string;
        offset = 0 as i32 as size_t;
        first = tty_term_override_next(s, &mut offset);
        if !first.is_null() && fnmatch(first, (*term).name, 0 as i32) == 0 as i32 {
            tty_add_features(
                feat,
                s.offset(offset as isize),
                b":\0" as *const u8 as *const i8,
            );
        }
        a = options_array_next(a);
    }
    del_curterm(cur_term);
    tty_term_apply_overrides(term);
    if tty_term_has(term, TTYC_CLEAR) == 0 {
        xasprintf(
            cause,
            b"terminal does not support clear\0" as *const u8 as *const i8,
        );
    } else if tty_term_has(term, TTYC_CUP) == 0 {
        xasprintf(
            cause,
            b"terminal does not support cup\0" as *const u8 as *const i8,
        );
    } else {
        s = tty_term_string(term, TTYC_CLEAR);
        if tty_term_flag(term, TTYC_XT) != 0
            || strncmp(
                s,
                b"\x1B[\0" as *const u8 as *const i8,
                2 as i32 as u64,
            ) == 0 as i32
        {
            (*term).flags |= 0x20 as i32;
            tty_add_features(
                feat,
                b"bpaste,focus,title\0" as *const u8 as *const i8,
                b",\0" as *const u8 as *const i8,
            );
        }
        if (tty_term_flag(term, TTYC_TC) != 0 || tty_term_has(term, TTYC_RGB) != 0)
            && (tty_term_has(term, TTYC_SETRGBF) == 0 || tty_term_has(term, TTYC_SETRGBB) == 0)
        {
            tty_add_features(
                feat,
                b"RGB\0" as *const u8 as *const i8,
                b",\0" as *const u8 as *const i8,
            );
        }
        if tty_apply_features(term, *feat) != 0 {
            tty_term_apply_overrides(term);
        }
        i = 0 as i32 as u_int;
        while i < tty_term_ncodes() {
            log_debug(
                b"%s%s\0" as *const u8 as *const i8,
                name,
                tty_term_describe(term, i as tty_code_code),
            );
            i = i.wrapping_add(1);
        }
        return term;
    }
    tty_term_free(term);
    return std::ptr::null_mut::<tty_term>();
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_free(mut term: *mut tty_term) {
    let mut i: u_int = 0;
    log_debug(
        b"removing term %s\0" as *const u8 as *const i8,
        (*term).name,
    );
    i = 0 as i32 as u_int;
    while i < tty_term_ncodes() {
        if (*((*term).codes).offset(i as isize)).type_0 as u32
            == TTYCODE_STRING as i32 as u32
        {
            free((*((*term).codes).offset(i as isize)).value.string as *mut libc::c_void);
        }
        i = i.wrapping_add(1);
    }
    free((*term).codes as *mut libc::c_void);
    if !((*term).entry.le_next).is_null() {
        (*(*term).entry.le_next).entry.le_prev = (*term).entry.le_prev;
    }
    *(*term).entry.le_prev = (*term).entry.le_next;
    free((*term).name as *mut libc::c_void);
    free(term as *mut libc::c_void);
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_read_list(
    mut name: *const i8,
    mut fd: i32,
    mut caps: *mut *mut *mut i8,
    mut ncaps: *mut u_int,
    mut cause: *mut *mut i8,
) -> i32 {
    let mut ent: *const tty_term_code_entry = std::ptr::null::<tty_term_code_entry>();
    let mut error: i32 = 0;
    let mut n: i32 = 0;
    let mut i: u_int = 0;
    let mut s: *const i8 = std::ptr::null::<i8>();
    let mut tmp: [i8; 11] = [0; 11];
    if setupterm(name as *mut i8, fd, &mut error) != 0 as i32 {
        match error {
            1 => {
                xasprintf(
                    cause,
                    b"can't use hardcopy terminal: %s\0" as *const u8 as *const i8,
                    name,
                );
            }
            0 => {
                xasprintf(
                    cause,
                    b"missing or unsuitable terminal: %s\0" as *const u8 as *const i8,
                    name,
                );
            }
            -1 => {
                xasprintf(
                    cause,
                    b"can't find terminfo database\0" as *const u8 as *const i8,
                );
            }
            _ => {
                xasprintf(
                    cause,
                    b"unknown error\0" as *const u8 as *const i8,
                );
            }
        }
        return -(1 as i32);
    }
    *ncaps = 0 as i32 as u_int;
    *caps = std::ptr::null_mut::<*mut i8>();
    let mut current_block_23: u64;
    i = 0 as i32 as u_int;
    while i < tty_term_ncodes() {
        ent = &*tty_term_codes.as_ptr().offset(i as isize) as *const tty_term_code_entry;
        match (*ent).type_0 as u32 {
            0 => {
                current_block_23 = 1856101646708284338;
            }
            1 => {
                s = tigetstr((*ent).name as *mut i8);
                if s.is_null()
                    || s == -(1 as i32) as *mut i8 as *const i8
                {
                    current_block_23 = 1856101646708284338;
                } else {
                    current_block_23 = 14763689060501151050;
                }
            }
            2 => {
                n = tigetnum((*ent).name as *mut i8);
                if n == -(1 as i32) || n == -(2 as i32) {
                    current_block_23 = 1856101646708284338;
                } else {
                    xsnprintf(
                        tmp.as_mut_ptr(),
                        ::core::mem::size_of::<[i8; 11]>() as u64,
                        b"%d\0" as *const u8 as *const i8,
                        n,
                    );
                    s = tmp.as_mut_ptr();
                    current_block_23 = 14763689060501151050;
                }
            }
            3 => {
                n = tigetflag((*ent).name as *mut i8);
                if n == -(1 as i32) {
                    current_block_23 = 1856101646708284338;
                } else {
                    if n != 0 {
                        s = b"1\0" as *const u8 as *const i8;
                    } else {
                        s = b"0\0" as *const u8 as *const i8;
                    }
                    current_block_23 = 14763689060501151050;
                }
            }
            _ => {
                fatalx(b"unknown capability type\0" as *const u8 as *const i8);
            }
        }
        match current_block_23 {
            14763689060501151050 => {
                *caps = xreallocarray(
                    *caps as *mut libc::c_void,
                    (*ncaps).wrapping_add(1 as i32 as u32) as size_t,
                    ::core::mem::size_of::<*mut i8>() as u64,
                ) as *mut *mut i8;
                xasprintf(
                    &mut *(*caps).offset(*ncaps as isize) as *mut *mut i8,
                    b"%s=%s\0" as *const u8 as *const i8,
                    (*ent).name,
                    s,
                );
                *ncaps = (*ncaps).wrapping_add(1);
            }
            _ => {}
        }
        i = i.wrapping_add(1);
    }
    del_curterm(cur_term);
    return 0 as i32;
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_free_list(mut caps: *mut *mut i8, mut ncaps: u_int) {
    let mut i: u_int = 0;
    i = 0 as i32 as u_int;
    while i < ncaps {
        free(*caps.offset(i as isize) as *mut libc::c_void);
        i = i.wrapping_add(1);
    }
    free(caps as *mut libc::c_void);
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_has(
    mut term: *mut tty_term,
    mut code: tty_code_code,
) -> i32 {
    return ((*((*term).codes).offset(code as isize)).type_0 as u32
        != TTYCODE_NONE as i32 as u32) as i32;
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_string(
    mut term: *mut tty_term,
    mut code: tty_code_code,
) -> *const i8 {
    if tty_term_has(term, code) == 0 {
        return b"\0" as *const u8 as *const i8;
    }
    if (*((*term).codes).offset(code as isize)).type_0 as u32
        != TTYCODE_STRING as i32 as u32
    {
        fatalx(
            b"not a string: %d\0" as *const u8 as *const i8,
            code as u32,
        );
    }
    return (*((*term).codes).offset(code as isize)).value.string;
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_string_i(
    mut term: *mut tty_term,
    mut code: tty_code_code,
    mut a: i32,
) -> *const i8 {
    let mut x: *const i8 = tty_term_string(term, code);
    let mut s: *const i8 = std::ptr::null::<i8>();
    s = tiparm(x, a);
    if s.is_null() {
        log_debug(
            b"could not expand %s\0" as *const u8 as *const i8,
            tty_term_codes[code as usize].name,
        );
        return b"\0" as *const u8 as *const i8;
    }
    return s;
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_string_ii(
    mut term: *mut tty_term,
    mut code: tty_code_code,
    mut a: i32,
    mut b: i32,
) -> *const i8 {
    let mut x: *const i8 = tty_term_string(term, code);
    let mut s: *const i8 = std::ptr::null::<i8>();
    s = tiparm(x, a, b);
    if s.is_null() {
        log_debug(
            b"could not expand %s\0" as *const u8 as *const i8,
            tty_term_codes[code as usize].name,
        );
        return b"\0" as *const u8 as *const i8;
    }
    return s;
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_string_iii(
    mut term: *mut tty_term,
    mut code: tty_code_code,
    mut a: i32,
    mut b: i32,
    mut c: i32,
) -> *const i8 {
    let mut x: *const i8 = tty_term_string(term, code);
    let mut s: *const i8 = std::ptr::null::<i8>();
    s = tiparm(x, a, b, c);
    if s.is_null() {
        log_debug(
            b"could not expand %s\0" as *const u8 as *const i8,
            tty_term_codes[code as usize].name,
        );
        return b"\0" as *const u8 as *const i8;
    }
    return s;
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_string_s(
    mut term: *mut tty_term,
    mut code: tty_code_code,
    mut a: *const i8,
) -> *const i8 {
    let mut x: *const i8 = tty_term_string(term, code);
    let mut s: *const i8 = std::ptr::null::<i8>();
    s = tiparm(x, a);
    if s.is_null() {
        log_debug(
            b"could not expand %s\0" as *const u8 as *const i8,
            tty_term_codes[code as usize].name,
        );
        return b"\0" as *const u8 as *const i8;
    }
    return s;
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_string_ss(
    mut term: *mut tty_term,
    mut code: tty_code_code,
    mut a: *const i8,
    mut b: *const i8,
) -> *const i8 {
    let mut x: *const i8 = tty_term_string(term, code);
    let mut s: *const i8 = std::ptr::null::<i8>();
    s = tiparm(x, a, b);
    if s.is_null() {
        log_debug(
            b"could not expand %s\0" as *const u8 as *const i8,
            tty_term_codes[code as usize].name,
        );
        return b"\0" as *const u8 as *const i8;
    }
    return s;
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_number(
    mut term: *mut tty_term,
    mut code: tty_code_code,
) -> i32 {
    if tty_term_has(term, code) == 0 {
        return 0 as i32;
    }
    if (*((*term).codes).offset(code as isize)).type_0 as u32
        != TTYCODE_NUMBER as i32 as u32
    {
        fatalx(
            b"not a number: %d\0" as *const u8 as *const i8,
            code as u32,
        );
    }
    return (*((*term).codes).offset(code as isize)).value.number;
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_flag(
    mut term: *mut tty_term,
    mut code: tty_code_code,
) -> i32 {
    if tty_term_has(term, code) == 0 {
        return 0 as i32;
    }
    if (*((*term).codes).offset(code as isize)).type_0 as u32
        != TTYCODE_FLAG as i32 as u32
    {
        fatalx(
            b"not a flag: %d\0" as *const u8 as *const i8,
            code as u32,
        );
    }
    return (*((*term).codes).offset(code as isize)).value.flag;
}
#[no_mangle]
pub unsafe extern "C" fn tty_term_describe(
    mut term: *mut tty_term,
    mut code: tty_code_code,
) -> *const i8 {
    static mut s: [i8; 256] = [0; 256];
    let mut out: [i8; 128] = [0; 128];
    match (*((*term).codes).offset(code as isize)).type_0 as u32 {
        0 => {
            xsnprintf(
                s.as_mut_ptr(),
                ::core::mem::size_of::<[i8; 256]>() as u64,
                b"%4u: %s: [missing]\0" as *const u8 as *const i8,
                code as u32,
                tty_term_codes[code as usize].name,
            );
        }
        1 => {
            strnvis(
                out.as_mut_ptr(),
                (*((*term).codes).offset(code as isize)).value.string,
                ::core::mem::size_of::<[i8; 128]>() as u64,
                0x1 as i32 | 0x2 as i32 | 0x8 as i32 | 0x10 as i32,
            );
            xsnprintf(
                s.as_mut_ptr(),
                ::core::mem::size_of::<[i8; 256]>() as u64,
                b"%4u: %s: (string) %s\0" as *const u8 as *const i8,
                code as u32,
                tty_term_codes[code as usize].name,
                out.as_mut_ptr(),
            );
        }
        2 => {
            xsnprintf(
                s.as_mut_ptr(),
                ::core::mem::size_of::<[i8; 256]>() as u64,
                b"%4u: %s: (number) %d\0" as *const u8 as *const i8,
                code as u32,
                tty_term_codes[code as usize].name,
                (*((*term).codes).offset(code as isize)).value.number,
            );
        }
        3 => {
            xsnprintf(
                s.as_mut_ptr(),
                ::core::mem::size_of::<[i8; 256]>() as u64,
                b"%4u: %s: (flag) %s\0" as *const u8 as *const i8,
                code as u32,
                tty_term_codes[code as usize].name,
                if (*((*term).codes).offset(code as isize)).value.flag != 0 {
                    b"true\0" as *const u8 as *const i8
                } else {
                    b"false\0" as *const u8 as *const i8
                },
            );
        }
        _ => {}
    }
    return s.as_mut_ptr();
}
